我们可以在matplotlib中将一行中的某一列与同一行的另一列相比较吗

2024-03-28 16:39:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python绘制我的数据集。我希望一行中的某一列与同一行的另一列相对应。准确地说,我希望我的两列分别是x轴和y轴,然后将用户输入的特定值绘制在该图上。在

import matplotlib.pyplot as plt
import pandas
import numpy as np

filename = 'friuts.csv'
raw_data = open(filename, 'rb')
data = pandas.read_csv(raw_data)
mydata = pandas.DataFrame(np.random.randn(10,2), columns=['col1','col2'])
mydata.hist()
plt.show()

我的数据集在两个不同的列中具有水果名称及其权重的列。这两个重量可以作为x轴和y轴吗。但是,我一次只想要一个单行的图形。 我所尝试的是获取所有行的整个列。在


Tags: csv数据用户importpandasdatarawmatplotlib
2条回答

这就是你要找的吗?http://matplotlib.org/examples/shapes_and_collections/scatter_demo.html

plt.scatter(mydata.col1, mydata.col2)
plt.show()

假设要使用给定行中的信息绘制单个点:

  1. 使用水果名称选择行,这将返回一个pd系列在
  2. 在结果上调用方法图

例如:

import pandas as pd
import matplotlib.pyplot as plt

# Create the data frame
mydata = pd.DataFrame({
'name': ['banana', 'mango', 'lima', 'apple'],
'weight': [1, 2, 3, 4]})

# Select the fruit you want to plot. This will return a pd.Series
# including the colums 'name' and 'weight'
to_plot = mydata[mydata['name'] == 'banana']

# Call the plot function indicating the which column X and Y axis.
fig, ax = plt.subplots()
to_plot.plot(x='name', y='weight', marker='o', ax=ax)
ax.set_ylabel('Weight')

相关问题 更多 >