基于plotly,我们可以绘制各种图表,把数据可视化。
目录
一、前期安装
pip install plotly;
pip install chart-studio
pip install pandas
二、可视化实现
2.1 散点图
Scatter
代码如下:
import plotly.express as px
fig = px.scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16])#scatter散点图 x宽度 y长度
fig.show()
效果如图:
2.2 直方图
代码如下:
#直方图
fig=px.histogram(x=[0,1,2,3,4],y=[0,1,4,9,16])
fig.show()
效果如图:
2.3 用IRIS(鸢尾花)数据集进行可视化
查看数据集:
代码如下:
#用IRIS(鸢尾花)数据集可视化
import plotly.express as px
df = px.data.iris() # iris is a pandas DataFrame
fig = px.scatter(df, x="petal_width", y="petal_length")#x y轴分别是什么
fig.show()
效果如图:
2.4 用类别编码色彩,用尺寸编码圆的半径
Hover_data:鼠标悬浮的时候显示的数据;
Size:原点大小代表的数据
代码如下:
#用类别编码色彩,用尺寸编码圆的半径
import plotly.express as px
df=px.data.iris()
fig=px.scatter(df,x="petal_width",y="petal_length",color="species",size="petal_length",hover_data=['petal_width'])
fig.show()
效果如图:
2.5 绘制正弦曲线
代码如下:
#绘制正弦曲线
import plotly.express as px
import numpy as np
t=np.linspace(0,2*np.pi,100)#正弦曲线,p是π
fig=px.line(x=t,y=np.sin(t))#画线
fig.show()
效果如图:
也可以通过修改sin为cos/tan获得其他函数图像:
三、其他补充
3.1 地图
代码如下:
import plotly.express as px
df=px.data.gapminder().query("year==2007")
print(df[0:9])
fig=px.scatter_geo(df,locations="iso_alpha",size='pop')
fig.show()
效果如图:
代码部分:
import plotly.express as px
df=px.data.gapminder().query("year==2007")
fig=px.scatter_geo(df,locations="iso_alpha",color="continent",size='pop',hover_name="country",projection='natural earth')
fig.show()
效果:
3.2 根据数据做可视化图表
以下根据电影名称及票房做饼图。首先需要安装:
pip install pyecharts
import pyecharts as pe
print(pe.__version__)#版本
print(dir(pe))#pyecharts所有属性和方法
print(dir(pe.charts))
代码如下:
import pyecharts as pe
from pyecharts.charts import Pie
from pyecharts import options as opts#导入option
from pyecharts.globals import ThemeType
pie=Pie()
x=['战狼2','哪吒之魔童降世','流浪地球','复仇者联盟3:终局之战','红海行动','唐人街探案2','美人鱼','我和我的祖国','我不是药神','八佰']
y=[568766,508674,468674,425038,365120,339769,339683,317612,309996,309448]
moviedata=[list(z) for z in zip(x,y)]
print(moviedata)
pie.add(series_name='饼图',data_pair=moviedata,radius='50%')
pie.render(pie.html)
效果如图:
可以将代码中的pie改成bar,还可以更改样式等。
import pyecharts as pe
from pyecharts.charts import Bar
bar=Bar()
x=['战狼2','哪吒之魔童降世','流浪地球','复仇者联盟3:终局之战','红海行动','唐人街探案2','美人鱼','我和我的祖国','我不是药神','八佰']
y=[568766,508674,468674,425038,365120,339769,339683,317612,309996,309448]
print(dir(bar))
bar.add_xaxis(x)
bar.add_yaxis("票房",y)
bar.render()