乐趣区

关于程序员:25张炫酷交互图表一文入门Plotly

Plotly Express 是一个新的高级 Python 可视化库,它是 Plotly.py 的高级封装,为简单图表提供简略的语法。最次要的是 Plotly 能够与 Pandas 数据类型 DataFrame 完满的联合,对于数据分析、可视化来说切实是太便捷了,而且是完全免费的,十分值得尝试

上面咱们应用 Ployly 的几个内置数据集来进行相干图表绘制的演示

数据集

Plotly 内置的所有数据集都是 DataFrame 格局,也即是与 Pandas 深度符合的体现

不同国家历年 GDP 支出与人均寿命

蕴含字段:国家、洲、年份、平均寿命、人口数量、GDP、国家简称、国家编号

gap = px.data.gapminder()
gap2007 = gap.query("year==2007")
gap2007

Output

图片 0

餐馆的订单流水

蕴含字段:总账单、小费、性别、是否抽烟、星期几、就餐工夫、人数

tips = px.data.tips()
tips

Output

tup 0-1

鸢尾花

蕴含字段:萼片长、萼片宽、花瓣长、花瓣宽、品种、品种编号

iris = px.data.iris()  
iris

Output

tup 0-2

风力

蕴含字段:方向、强度、数值

wind = px.data.wind()  
wind

Output

tup0-3

2013 年蒙特利尔市长选举投票后果

包含字段:区域、Coderre 票数、Bergeron 票数、Joly 票数、总票数、胜者、后果 (占比分类)

election = px.data.election() 
election

Output

tup 0-4

蒙特利尔一个区域核心左近的汽车共享服务的可用性

包含字段:纬度、经度、汽车小时数、顶峰小时

carshare = px.data.carshare()
carshare

Output

tup 0-5

内置调色面板

Plotly 还用于泛滥色调高级的调色板,使得咱们在绘制图表的时候不再为色彩搭配懊恼

卡通片的色调和序列

px.colors.carto.swatches() 

Output

tup 0-6

CMOcean 我的项目的色阶

px.colors.cmocean.swatches() 

Output

tup 0-7

还有其余很多调色板供选择,就不一一展现了,上面只给出代码,具体色彩款式能够自行运行代码查看

ColorBrewer2 我的项目的色阶

px.colors.colorbrewer

周期性色标,实用于具备天然周期构造的间断数据

px.colors.cyclical 

扩散色标,实用于具备天然中点的间断数据

px.colors.diverging     

定性色标,实用于没有天然程序的数据

px.colors.qualitative

程序色标,实用于大多数间断数据

px.colors.sequential        

Plotly Express 根本绘图

散点图

Plotly 绘制散点图非常容易,一行代码就能够实现

px.scatter(gap2007, x="gdpPercap", y="lifeExp")

Output

tup 1

还能够通过参数 color 来辨别不同的数据类别

px.scatter(gap2007, x="gdpPercap", y="lifeExp", color="continent")

Output

tup2

这里每个点都代表一个国家,不同色彩则代表不同的大洲

还能够应用参数 size 来体现数据的大小状况

px.scatter(gap2007, x="gdpPercap", y="lifeExp", color="continent", size="pop", size_max=60)

Output

tup3

还能够通过参数 hover_name 来指定当鼠标悬浮的时候,展现的信息

tup4

还能够依据数据集中不同的数据类型进行图表的拆分

px.scatter(gap2007, x="gdpPercap", y="lifeExp", color="continent", size="pop", 
           size_max=60, hover_name="country", facet_col="continent", log_x=True)

Output

tup5

咱们当然还能够查看不同年份的数据,生成主动切换的动静图表

px.scatter(gap, x="gdpPercap", y="lifeExp", color="continent", size="pop", 
           size_max=60, hover_name="country", animation_frame="year", animation_group="country", log_x=True,
          range_x=[100, 100000], range_y=[25, 90], labels=dict(pop="Population", gdpPercap="GDP per Capa", lifeExp="Life Expectancy"))

Output

tup6

地理信息图

Plotly 绘制动静的地理信息图表也是十分不便,通过这种地图的模式,咱们也能够分明的看到数据集中短少前苏联的相干数据

px.choropleth(gap, locations="iso_alpha", color="lifeExp", hover_name="country", animation_frame="year", 
              color_continuous_scale=px.colors.sequential.Plasma, projection="natural earth")

Output

图片 7

矩阵散点图

px.scatter_matrix(iris, dimensions=['sepal_width', 'sepal_length', 'petal_width', 'petal_length'], color='species', symbol='species')

Output

tup 8

平行坐标图

px.parallel_coordinates(tips, color='size', color_continuous_scale=px.colors.sequential.Inferno)

Output

tup 9

三元散点图

px.scatter_ternary(election, a="Joly", b="Coderre", c="Bergeron", color="winner", size="total", hover_name="district",
                   size_max=15, color_discrete_map = {"Joly": "blue", 
                   "Bergeron": "green", "Coderre":"red"} )

Output

tup 10

极坐标线条图

px.line_polar(wind, r="frequency", theta="direction", color="strength", 
            line_close=True,color_discrete_sequence=px.colors.sequential.Plotly3[-2::-1])

Output

图片 11

小提琴图

px.violin(tips, y="tip", x="sex", color="smoker", facet_col="day", facet_row="time",box=True, points="all", 
          category_orders={"day": ["Thur", "Fri", "Sat", "Sun"], "time": ["Lunch", "Dinner"]},
          hover_data=tips.columns)

Output

tup 12

极坐标条形图

px.bar_polar(wind, r="frequency", theta="direction", color="strength",
            color_discrete_sequence= px.colors.sequential.Plotly3[-2::-1])

Output

tup 13

并行类别图

px.parallel_categories(tips, color="size", color_continuous_scale=px.
            colors.sequential.Inferno)

Output

tup 14

直方图

px.histogram(tips, x="total_bill", color="smoker",facet_row="day", facet_col="time")

Output

tup 15

三维散点图

px.scatter_3d(election, x="Joly", y="Coderre", z="Bergeron", color="winner", 
              size="total", hover_name="district",symbol="result", 
              color_discrete_map = {"Joly": "blue", "Bergeron": "green", 
              "Coderre":"red"})

Output

tup 16

密度等值线图

px.density_contour(iris, x="sepal_width", y="sepal_length", color="species")

Output

tup 17

箱形图

px.box(tips, x="sex", y="tip", color="smoker", notched=True)

Output

tup 18

地理坐标线条图

px.line_geo(gap.query("year==2007"), locations="iso_alpha", 
            color="continent", projection="orthographic")

Output

tup 19

条线图

px.line(gap, x="year", y="lifeExp", color="continent", 
        line_group="country", hover_name="country",
        line_shape="spline", render_mode="svg")

Output

tup 20

面积图

px.area(gap, x="year", y="pop", color="continent", 
        line_group="country")

Output

tup 21

热力求

px.density_heatmap(iris, x="sepal_width", y="sepal_length", 
                   marginal_x="rug", marginal_y="histogram")

Output

tup 22

条形图

px.bar(tips, x="sex", y="total_bill", color="smoker", barmode="group")

Output

tup 23

本文由 mdnice 多平台公布

退出移动版