前端框架:
python web微框架——flask,https://dormousehole.readthedocs.io/en/latest/#python web应用框架——Django可视化引擎:
蚂蚁金服 AntV 数据可视化团队推出的AntV 地理可视化引擎 L7 ,https://ant.design/index-cnmapbox 是一个开源的地图引擎、 强大的前段地图框架mapboxgl。 前端使用 ant.design 进行布局,https://blog.csdn.net/supermapsupport/article/details/78343391百度API 3D ,http://lbsyun.baidu.com/solutions/visualizationinMap 丰富的图层、更好的用户体验、大数据地理可视化库。房价预测系: 7. K-Means聚类地理信息可视化.https://zhuanlan.zhihu.com/p/30138130 8. 《DataFocus 数据可视化》 第四章 地理信息可视化.https://www.douban.com/note/725396232/ 9. 数据挖掘——房价项目预测(四)matplotlib与Seaborn数据可视化学习 .https://blog.csdn.net/weixin_41975471/article/details/106235600. Matplotlib 是一个 Python 的 2D绘图库 10. FineBI数据可视化软件.http://www.fanruansem.com/、http://www.fanruansem.com/finebi 11. OurwayBI.https://tv.sohu.com/v/dXMvMTgxMjczMjU0Lzk0MjcwNjk5LnNodG1s.html
数据来自某网https://cd.lianjia.com/ 需要用
地址总价售价小区名称所在区域经度纬度用地址是因为需要在百度API里得到经纬度做定位,也用来做label; 用总价、售价、小区名称做离散图和label 等等
略
2020年链家网成都二手房销售部分数据.tar
使用python
import plotly_express as px # 可视化模块 import plotly.offline # 生成html文件模块 import numpy # 数据格式转换模块 import pandas as pd # 数据格式转换模块 # plotly_express 二维散点图 def plotly_Express_scatter(): gapminder = px.data.gapminder() px.scatter(gapminder.query("year==2007"), x="gdpPercap", y="lifeExp", size="pop", color="continent", hover_name="country", log_x=True, size_max=60) # plotly_express 二维散点图测试 def plotly_Express_scatter_test(): data = 'E:/Sourese/lianjia/data/list_data.json' # 转成DataFram数据结构 df = pd.read_json(data,encoding='UTF-8') fig = px.scatter(df, x="Price", y="Acreage",size="Tolprice", color="Area",hover_name="Area", log_x=True,size_max=60) # 生成Html文件 # plotly.offline.plot(fig,filename='D:/_workspace/HBuilderX/可视化大作业/file/scatter_list_data.html') # print(df["Area"]) # plotly_express 三维散点图测试 def plotly_Express_scatter_3d(): df = px.data.election() fig = px.scatter_3d(df, x="Joly", y="Coderre", z="Bergeron", color="winner", size="total", hover_name="district", symbol="result", color_discrete_map={"Joly": "blue", "Bergeron": "green", "Coderre": "red"}) with open('E:Sourese/lianjia/Textdata/test.txt' ,'a' , encoding='UTF-8') as test: test.writelines(str(fig)) def plotly_Express_scatter_3d_test(): data = 'E:/Sourese/lianjia/data/list_data.json' df = px.data.election() fig = px.scatter_3d(df, x="Joly", y="Coderre", z="Bergeron", color="Area", size="Area", hover_name="Area", symbol="Area", color_discrete_map={"Joly": "blue", "Bergeron": "green", "Coderre": "red"}) plotly.offline.plot(fig) # plotly_express 二维柱状图 def bar_11(): data = pd.read_json("E:/Sourese/lianjia/Textdata/Sheet2.json" ,'r',encoding='UTF-8') print(data) # Str 类型转Pandas.DataFrame类型;Str——>IO(文件对象)——>DataFrame类型 fig = px.bar(data , x='Count' , y='Area' , text='Count',orientation='h',title='dj',template='plotly_white') plotly.offline.plot(fig ,filename='D:/_workspace/HBuilderX/可视化大作业/file/bar_11.html') if __name__ == '__main__': # bar_11() # plotly_Express_scatter() plotly_Express_scatter_test() # area_number() # plotly_Express_scatter_3d() # plotly_Express_scatter_3d_test()Python词云.py
from PIL import Image as image from wordcloud import WordCloud, ImageColorGenerator import matplotlib.pyplot as plt import numpy as np import jieba def GetWordCloud(): path_txt = 'E://Sourese//lianjia//data//data.txt' #path_img = "E://Sourese//lianjia//data//house.png" f = open(path_txt, 'r', encoding='UTF-8').read() #background_image = np.array(image.open(path_img)) # 结巴分词,生成字符串,如果不通过分词,无法直接生成正确的中文词云,感兴趣的朋友可以去查一下,有多种分词模式 # Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。 cut_text = " ".join(jieba.cut(f)) wordcloud = WordCloud( max_words = 120, # 设置字体,不然会出现口字乱码,文字的路径是电脑的字体一般路径,可以换成别的 font_path="C:/Windows/Fonts/simfang.ttf", background_color='white', # mask参数=图片背景,必须要写上,另外有mask参数再设定宽高是无效的 #mask=background_image ).generate(cut_text) # 生成颜色值 #image_colors = ImageColorGenerator(background_image) # 下面代码表示显示图片 plt.imshow(wordcloud.recolor(), interpolation="bilinear") plt.axis("off") plt.show() def GetWordCoud2(): #path_image = 'E://Sourese//lianjia//data//house.png' #mask = np.array(image.open(path_image)) with open('E://Sourese//lianjia//data//wordcloud.txt','r',encoding='UTF-8') as data: text = data.read() wordCloud = WordCloud( font_path='C:/Windows/Fonts/simfang.ttf', background_color='white', #mask = mask, mode= 'green' ).generate(text) image_produce = WordCloud.to_image(wordCloud) image_produce.show() if __name__ == '__main__': GetWordCloud() # GetWordCoud2() """ WordCloud参数讲解: font_path表示用到字体的路径 width和height表示画布的宽和高 prefer_horizontal可以调整词云中字体水平和垂直的多少 mask即掩膜,产生词云背景的区域 scale:计算和绘图之间的缩放 min_font_size设置最小的字体大小 max_words设置字体的多少 stopwords设置禁用词 background_color设置词云的背景颜色 max_font_size设置字体的最大尺寸 mode设置字体的颜色 但设置为RGBA时背景透明 relative_scaling设置有关字体大小的相对字频率的重要性 regexp设置正则表达式 collocations 是否包含两个词的搭配 """