我正在使用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轴。但是,我一次只想要一行单行图。 我尝试过的是获取所有行的整列。
答案 0 :(得分:0)
这是你在找什么? http://matplotlib.org/examples/shapes_and_collections/scatter_demo.html
plt.scatter(mydata.col1, mydata.col2)
plt.show()
答案 1 :(得分:0)
假设您想要使用给定行中的信息绘制单个点:
例如:
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')