【python画图代码大全】在数据分析、科学计算和可视化展示中,Python凭借其丰富的库支持,成为许多开发者和研究者的首选工具。其中,绘图功能尤为强大,能够帮助用户将复杂的数据以直观的方式呈现出来。本文将为大家整理一份实用的“Python画图代码大全”,涵盖常见的图表类型与使用方法,适合初学者和进阶者参考。
一、基础绘图:Matplotlib
Matplotlib 是 Python 中最常用的绘图库之一,功能全面,适合绘制各种静态、动态和交互式图表。
1.1 绘制折线图
```python
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y, marker='o', linestyle='--', color='b', label='数据趋势')
plt.title('折线图示例')
plt.xlabel('X轴')
plt.ylabel('Y轴')
plt.legend()
plt.grid(True)
plt.show()
```
1.2 绘制柱状图
```python
import matplotlib.pyplot as plt
categories = ['A', 'B', 'C', 'D']
values = [10, 20, 15, 25]
plt.bar(categories, values, color=['red', 'green', 'blue', 'orange'])
plt.title('柱状图示例')
plt.xlabel('类别')
plt.ylabel('数值')
plt.show()
```
1.3 绘制散点图
```python
import matplotlib.pyplot as plt
import numpy as np
x = np.random.rand(50)
y = np.random.rand(50)
plt.scatter(x, y, c='purple', alpha=0.6, label='随机点')
plt.title('散点图示例')
plt.xlabel('X值')
plt.ylabel('Y值')
plt.legend()
plt.show()
```
二、高级绘图:Seaborn
Seaborn 是基于 Matplotlib 的高级绘图库,提供了更简洁的 API 和更美观的默认样式。
2.1 绘制箱型图
```python
import seaborn as sns
import pandas as pd
data = pd.DataFrame({
'Category': ['A', 'B', 'C'] 10,
'Values': np.random.randn(30)
})
sns.boxplot(x='Category', y='Values', data=data)
plt.title('箱型图示例')
plt.show()
```
2.2 绘制热力图
```python
import seaborn as sns
import numpy as np
data = np.random.rand(10, 10)
sns.heatmap(data, cmap='viridis', annot=True)
plt.title('热力图示例')
plt.show()
```
三、数据可视化:Plotly
Plotly 是一个交互式可视化库,适用于 Web 应用和动态图表展示。
3.1 绘制交互式折线图
```python
import plotly.express as px
import pandas as pd
df = pd.DataFrame({
'x': [1, 2, 3, 4, 5],
'y': [2, 4, 6, 8, 10]
})
fig = px.line(df, x='x', y='y', title="交互式折线图")
fig.show()
```
3.2 绘制地图图表
```python
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.choropleth(df, locations='country', locationmode='country names', color='pop',
hover_name='country', color_continuous_scale='Viridis')
fig.update_layout(title_text='全球人口分布')
fig.show()
```
四、其他常用图表类型
4.1 饼图
```python
import matplotlib.pyplot as plt
labels = ['A', 'B', 'C']
sizes = [30, 50, 20]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=90)
plt.title('饼图示例')
plt.axis('equal') 使饼图显示为圆形
plt.show()
```
4.2 雷达图(极坐标图)
```python
import matplotlib.pyplot as plt
import numpy as np
labels = np.array(['A', 'B', 'C', 'D', 'E'])
stats = np.array([4, 7, 5, 8, 6])
angles = np.linspace(0, 2 np.pi, len(labels), endpoint=False).tolist()
stats = np.concatenate((stats, [stats[0]]))
angles += angles[:1]
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
ax.fill(angles, stats, color='skyblue', alpha=0.25)
ax.plot(angles, stats, color='blue', linewidth=2)
ax.set_yticklabels([])
ax.set_xticks(angles[:-1])
ax.set_xticklabels(labels)
plt.title('雷达图示例')
plt.show()
```
五、总结
Python 提供了多种强大的绘图工具,从基础的 Matplotlib 到高级的 Seaborn 和交互式的 Plotly,满足了不同场景下的数据可视化需求。掌握这些绘图技巧,不仅可以提升数据分析效率,还能让结果更加直观、专业。
无论你是学生、研究人员还是开发者,这份“Python画图代码大全”都将成为你日常工作中不可或缺的参考资料。希望你在实践中不断探索,创造出更多优秀的可视化作品!