-[希望各位能解答一下我这个程序出了什么问题,我的目的是要绘制一个可以反映全球火灾信息的散点图,但是程序写出来之后就总是报错不知道要怎么修改才可以通过]
-[同时我还想将文件中的其他信息也导入到散点图中,但是我不是很清楚怎么写入(比如说scan,track等信息),希望各位能帮忙加入一下,谢谢]
import csv
import plotly.express as px
filename = 'world_fires_1_day.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
bris, lons, lats = [], [], []
for row in reader:
lat = float(row[0])
lon = float(row[1])
bri = float(row[2])
lats.append(lat)
lons.append(lon)
bris.append(bri)
fig = px.scatter(
x=lons,
y=lats,
labels={'x': 'longitude', 'y': 'latitude'},
range_x=[-200, 200],
range_y=[-90, 90],
title={'scatter of the global fire distribution'},
)
fig.write_html('fire.html')
fig.show()
图表的样子如下
由于不知道怎么分享文件我就弄了个百度网盘的链接希望各位能够解答
链接:https://pan.baidu.com/s/1cQFT3fuph9N-JIFHNfNoIg
提取码:ljzb
--来自百度网盘超级会员V3的分享
“该回答引用ChatGPT”
可以参考下面的方法,如果可行还请 点击 ,采纳,感谢支持!
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件
df = pd.read_csv("fire_data.csv")
# 获取经纬度数据
latitude = df['latitude']
longitude = df['longitude']
# 绘制散点图
plt.scatter(longitude, latitude, alpha=0.5)
# 设置图表标题和坐标轴标签
plt.title("Global Fire Information")
plt.xlabel("Longitude")
plt.ylabel("Latitude")
# 显示图表
plt.show()
代码中,我们首先使用pandas库读取.csv文件,并使用Matplotlib的scatter函数绘制散点图。然后使用title、xlabel和ylabel函数为图表设置标题和坐标轴标签。最后,使用show函数显示图表。
import csv
import plotly.express as px
filename = 'world_fires_1_day.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
bris, lons, lats, scans, tracks = [], [], [], [], []
for row in reader:
lat = float(row[0])
lon = float(row[1])
bri = float(row[2])
scan = row[3]
track = row[4]
lats.append(lat)
lons.append(lon)
bris.append(bri)
scans.append(scan)
tracks.append(track)
fig = px.scatter(
x=lons,
y=lats,
labels={'x': 'longitude', 'y': 'latitude'},
range_x=[-200, 200],
range_y=[-90, 90],
size=bris,
color=scans,
symbol=tracks,
title={'scatter of the global fire distribution'},
)
fig.write_html('fire.html')
fig.show()
举个例子
import matplotlib.pyplot as plt
import numpy as np
x=np.linspace(0.05,10,1000)
y=np.random.rand(1000)
fig=plt.figure(figsize=(3,3),dpi=200)
ax=fig.add_subplot(111)
ax.scatter(x,y,s=10,)
plt.show()
该回答引用ChatGPT,如果有帮助到您请点个采纳
用 Plotly 库制作散点图。可以先检查一下输入的文件是否存在和格式是否正确,再检查一下读取到的数据是否与预期一致。
如果想要加入其他信息,比如说 scan 和 track,可以读取它们的值,并在 scatter 函数的 size、color、symbol 等参数上使用它们,从而呈现散点的大小、颜色和形状的不同。例如:
fig = px.scatter(
x=lons,
y=lats,
size=scans,
color=tracks,
labels={'x': 'longitude', 'y': 'latitude'},
range_x=[-200, 200],
range_y=[-90, 90],
title={'scatter of the global fire distribution'},
)
其中,scans 和 tracks 数组的大小应该与 lons、lats、bris 数组的大小一致。
什么错误?