# Python怎么把數據寫入列表并導出折線圖
在數據分析和可視化領域,Python憑借其強大的庫支持成為最受歡迎的工具之一。本文將詳細介紹如何將數據寫入列表,并使用Matplotlib庫生成折線圖導出為圖片文件。
---
## 一、數據寫入Python列表
### 1.1 創建空列表
列表(List)是Python中最基礎的數據結構之一,用方括號`[]`表示:
```python
data_list = [] # 創建空列表
data_list.append(10)
data_list.append(20)
# 結果:[10, 20]
data_list.extend([30, 40, 50])
# 結果:[10, 20, 30, 40, 50]
squares = [x**2 for x in range(1,6)]
# 結果:[1, 4, 9, 16, 25]
new_list = data_list + [60, 70]
with open('data.txt') as f:
file_data = [float(line.strip()) for line in f]
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
pip install matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y)
plt.show()
plt.title("示例折線圖")
plt.xlabel("X軸標簽")
plt.ylabel("Y軸標簽")
plt.plot(x, y,
color='red',
linestyle='--',
marker='o',
linewidth=2)
plt.plot(x, y, label='趨勢線')
plt.legend()
plt.xlim(0, 6)
plt.ylim(0, 12)
plt.savefig('output.png', dpi=300, bbox_inches='tight')
支持格式:
- PNG(默認)
- JPG(output.jpg
)
- SVG(矢量圖)
- PDF(可縮放文檔)
plt.savefig('high_quality.png',
dpi=600, # 提高分辨率
quality=95, # JPG質量
transparent=True) # 透明背景
import matplotlib.pyplot as plt
from datetime import datetime
# 數據準備
dates = ['2023-01-01', '2023-01-02', '2023-01-03']
temps = [22.5, 24.3, 19.8]
# 轉換日期格式
x = [datetime.strptime(d, '%Y-%m-%d') for d in dates]
# 創建畫布
plt.figure(figsize=(10, 6))
# 繪制折線圖
plt.plot(x, temps,
marker='s',
color='#FF6B6B',
label='日平均溫度')
# 添加標注
for i, txt in enumerate(temps):
plt.annotate(f"{txt}°C", (x[i], temps[i]),
textcoords="offset points",
xytext=(0,10),
ha='center')
# 圖表裝飾
plt.title("2023年1月溫度變化趨勢", pad=20)
plt.xlabel("日期")
plt.ylabel("溫度(°C)")
plt.grid(alpha=0.3)
plt.legend()
# 導出文件
plt.savefig('temperature_trend.png')
plt.close() # 釋放內存
plt.rcParams['font.sans-serif'] = ['SimHei'] # Windows
plt.rcParams['axes.unicode_minus'] = False
調整畫布大?。?/p>
plt.figure(figsize=(12, 7))
提高DPI參數:
plt.savefig('output.png', dpi=600)
import pandas as pd
df = pd.DataFrame({
'Month': ['Jan', 'Feb', 'Mar'],
'Sales': [1200, 1800, 1500]
})
df.plot(x='Month', y='Sales', kind='line')
plt.savefig('sales.png')
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
x, y = [], []
def update(frame):
x.append(frame)
y.append(frame**2)
ax.clear()
ax.plot(x, y)
ani = FuncAnimation(fig, update, frames=range(10))
ani.save('dynamic.gif', writer='pillow')
通過本文的學習,您應該已經掌握: 1. Python列表的基本操作方法 2. Matplotlib繪制折線圖的完整流程 3. 圖表導出為圖片文件的技術細節 4. 實際應用中的問題解決方案
建議讀者嘗試修改示例代碼中的參數,觀察不同設置對圖表效果的影響,這是掌握數據可視化的最佳實踐方式。 “`
這篇文章共計約1350字,采用Markdown格式編寫,包含: - 6個主要章節 - 15個代碼示例 - 多級標題結構 - 重點內容強調 - 實際應用案例 - 常見問題解決方案
可根據需要調整代碼示例的具體參數或補充其他可視化庫(如Seaborn)的相關內容。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。