首页 > 编程知识 正文

Python常用绘图库

时间:2023-11-19 09:45:30 阅读:288553 作者:UQNE

本文将从多个方面详细阐述Python常用的绘图库,包括matplotlib、seaborn和plotly等,并给出示例代码。

一、matplotlib

matplotlib是Python中最常用的绘图库之一。

1、绘制简单的折线图

import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y = [5,4,3,2,1]
plt.plot(x,y)
plt.show()

2、绘制图例和设置坐标轴名称

import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y1 = [5,4,3,2,1]
y2 = [1,2,3,4,5]
plt.plot(x,y1,label='Line 1')
plt.plot(x,y2,label='Line 2')
plt.xlabel('X Axis')
plt.ylabel('Y Axis')
plt.legend()
plt.show()

3、绘制子图

import matplotlib.pyplot as plt
x = [1,2,3,4,5]
y1 = [5,4,3,2,1]
y2 = [1,2,3,4,5]

plt.subplot(2, 1, 1)
plt.plot(x, y1)
plt.title('Subplot 1')

plt.subplot(2, 1, 2)
plt.plot(x, y2)
plt.title('Subplot 2')

plt.subplots_adjust(hspace=0.5)
plt.show()

二、seaborn

seaborn是Python中一个基于matplotlib的高级绘图库,它提供了更好的默认显示效果。

1、绘制柱状图

import seaborn as sns
import matplotlib.pyplot as plt
tips = sns.load_dataset("tips")
sns.barplot(x="day", y="total_bill", data=tips)
plt.show()

2、绘制散点图并添加回归线

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")
sns.regplot(x="total_bill", y="tip", data=tips)
plt.show()

3、绘制热力图

import seaborn as sns
import matplotlib.pyplot as plt

flights = sns.load_dataset("flights").pivot("month", "year", "passengers")
sns.heatmap(flights, annot=True, fmt="d")
plt.show()

三、plotly

plotly是Python中一个交互式可视化库,支持多种绘图类型和动态图展示。

1、绘制散点图

import plotly.graph_objs as go

x = [1,2,3,4]
y = [4,3,2,1]

data = [go.Scatter(x=x,y=y,mode='markers')]

fig = go.Figure(data=data)
fig.show()

2、绘制条形图

import plotly.graph_objs as go

x = ['A','B','C','D']
y = [10,20,30,40]

data = [go.Bar(x=x,y=y)]

fig = go.Figure(data=data)
fig.show()

3、绘制地图

import plotly.graph_objs as go

data = dict(
        type = 'choropleth',
        locations = ['CA', 'NY', 'TX'],
        locationmode = 'USA-states',
        colorscale= 'Portland',
        z=[1.0, 2.0, 3.0],
        colorbar = {'title':'Colorbar Title'})

layout = dict(
        geo = {'scope':'usa'})

fig = go.Figure(data = [data], layout = layout)
fig.show()

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。