pyplot x 轴正在排序

2024-01-18

这一切都在 Windows 7 x64 位机器上,在 PyCharm Educational Edition 1.0.1 编译器中运行 python 3.4.3 x64 位。该计划使用的数据取自纽约市的 Citi Bike 计划(数据可在此处找到:http://www.citibikenyc.com/system-data http://www.citibikenyc.com/system-data).

我对数据进行了排序,这样我就有了一个新的 CSV 文件,其中仅包含唯一的自行车 ID 以及每辆自行车的骑行次数(文件名为 Sorted_Bike_Uses.csv)。我正在尝试制作一个图表,其中自行车 ID 与使用次数相对应(自行车 ID 在 x 轴上,使用次数在 y 轴上)。我的代码如下所示:

import pandas as pd
import matplotlib.pyplot as plt

# read in the file and separate it into two lists
a = pd.read_csv('Sorted_Bike_Uses.csv', header=0)
b = a['Bike ID']
c = a['Number of Uses']

# create the graph
plt.plot(b, c)

# label the x and y axes
plt.xlabel('Bicycles', weight='bold', size='large')
plt.ylabel('Number of Rides', weight='bold', size='large')

# format the x and y ticks
plt.xticks(rotation=50, horizontalalignment='right', weight='bold', size='large')
plt.yticks(weight='bold', size='large')

# give it a title
plt.title("Top Ten Bicycles (by # of uses)", weight='bold')

# displays the graph
plt.show()

它创建了一个格式几乎正确的图表。唯一的问题是它对自行车 ID 进行排序,以便它们按数字顺序排列,而不是按使用顺序排列。我尝试过重新利用以前用来制作类似图表的旧代码,但它只是制作了一个更糟糕的图表,不知何故绘制了两组数据。它看起来像这样:

my_plot = a.sort(columns='Number of Uses', ascending=True).plot(kind='bar', legend=None)

# labels the x and y axes
my_plot.set_xlabel('Bicycles')
my_plot.set_ylabel('Number of Rides')

# sets the labels along the x-axis as the names of each liquor
my_plot.set_xticklabels(b, rotation=45, horizontalalignment='right')

# displays the graph
plt.show()

第二组代码使用与第一组代码相同的数据集,并且已对原始代码进行了更改以适合花旗自行车数据。我的 google-fu 已经用完了。我尝试过重新格式化 xticks,将第二个代码的片段添加到第一个代码中,将第一个代码的片段添加到第二个代码中,等等。它可能就在我面前,但我看不到它。任何帮助表示赞赏。


您只想使用绘图函数绘制使用次数,然后将 x 标签设置为自行车 ID 号。因此,绘制时不要包含自行车 ID 号。只需执行 plt.plot(c) 即可。如果仅向绘图函数提供一个参数,它会自行创建 x 值,在本例中为 range(len(c))。然后您可以将 x 轴上的标签更改为自行车 ID。这是通过 plt.xticks 完成的。您需要向它传递它创建的 x 值列表和标签列表。所以这将是 plt.xticks(range(len(c)), b)。

尝试这个:

import pandas as pd
import matplotlib.pyplot as plt

# read in the file and separate it into two lists
a = pd.read_csv('Sorted_Bike_Uses.csv', header=0)
b = a['Bike ID']
c = a['Number of Uses']

# create the graph
plt.plot(c)

# label the x and y axes
plt.xlabel('Bicycles', weight='bold', size='large')
plt.ylabel('Number of Rides', weight='bold', size='large')

# format the x and y ticks
plt.xticks(range(len(c)), b, rotation=50, horizontalalignment='right', weight='bold', size='large')
plt.yticks(weight='bold', size='large')

# give it a title
plt.title("Top Ten Bicycles (by # of uses)", weight='bold')

# displays the graph
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pyplot x 轴正在排序 的相关文章

随机推荐

  • iPhone 中的 Sqlite3 数据库被锁定 - 如何避免?

    我有一个在 Sqlite3 DB 上执行搜索的查询 它除了使用阅读器进行阅读之外什么也不做 对于每个找到的匹配项 它都会调用 UI 回调来更新结果视图 当此搜索运行时 我点击了 UI 中的一个按钮 该按钮将在新线程中执行一些其他操作 最后它
  • 溢出 y 隐藏 溢出 x 可见

    我有一个 div 蓝色框 它绝对定位在父元素 红色框 内的页面上 并且我需要将 Overflow y 设置为隐藏 以便强制截断 Y 轴上的溢出内容 但我希望任何溢出 x 的内容都可见 HTML div div div style width
  • 使用 hibernate 标准选择值对象

    我试图找出是否可以使用 Hibernate Criteria API 执行以下 HQL String hql select new InitialCount substring name 1 1 count id from Person g
  • 使用自定义身份验证提供程序/服务的 ASP.Net Identity

    我目前正在开发一个 ASP Net MVC Web 应用程序 需要用户名和密码身份验证 我开始考虑使用 ASP Net Identity 来实现此目的 但是我有一个非常重要的要求 要求是 Web 应用程序本身不能直接访问任何数据库 所有 D
  • Google 地图:如何移动缩放控件?

    如何通过 API 将 Google 地图缩放控件移动到地图的另一侧 var myOptions zoom 6 zoomControl true zoomControlOptions style google maps ZoomControl
  • Bootstrap 3:100%高度后如何粘贴

    我试图让我的导航栏在设置为 100 高度的介绍后固定到顶部 但我不确定执行此操作的最佳方法是什么 Code CSS html body height 100 min height 100 intro height 100 text alig
  • 如何监控第三方存储库的 GitHub 提交

    初学者在这里 我已为由其他人创建和管理的 GitHub 存储库加注星标 有没有办法监视提交并在每次有人签入主分支时向侦听器发送电子邮件 请注意 我不拥有该存储库 我只是想跟踪我喜欢的存储库上的更改 您可以获得原子饲料 https en wi
  • 如何解决此类问题?

    br br br div style line height 50 span style display block span div
  • Swift:如何查看 Xcode 监视窗口中显示的变量值?

    简单的问题 使用 Swift 时如何查看 Xcode 监视窗口中变量的值 这是一个示例 看看 mdn 如何具有值 2067134273 但无法在监视窗口中查看该值 ObjectiveC NSObject 不会扩展为任何内容 我认为这可能是由
  • Matplotlib 在绘图区域内移动刻度标签

    是否可以在绘图区域内放置刻度标签 我已经尝试过 ax tick params axis y pad 5 left off labelleft on and ax tick params axis y direction in left of
  • 为什么在 ASP.NET MVC 中使用数据库工厂?

    最近我使用了 asp net mvc 我在示例项目中看到正在使用数据库工厂类 您如何向我解释为什么使用它 IDatabaseFactory类 public interface IDatabaseFactory IDisposable EFM
  • Sharepoint 2007:为自定义字段类型创建多行文本自定义属性?

    我正在尝试扩展内置的 Choice 字段类型以包含另一条数据 正确答案 这样 用户将能够直接在 Sharepoint 中创建自己的测试 而不必使用 InfoPath 或其他一些复杂的解决方案 我希望继承现有的 SPFieldChoice 类
  • 如何将手动创建的 WebJobs 发布到 Azure

    我按照本文创建了一个针对 NET Core 的 WebJobs 应用程序 http matt roberts me azure webjobs in net core 2 with di and configuration http mat
  • 部分申请和关闭

    有人问我偏函数应用和闭包之间有什么关系 我会说没有 除非我没有抓住重点 假设我正在用 python 编写 并且有一个非常简单的函数 MySum 定义如下 MySum lambda x y x y 现在 我正在修复一个参数以获得一个具有较小数
  • Xperia XA1 ultra 不显示 Logcat 消息

    您好 当我在 android studio 中使用 Sony Xperia XA1 Ultra 调试我的应用程序时 不会出现调试和详细日志 我的手机运行的是Android 8 0 我已经安装了必要的驱动程序并使用另一部手机 Sony Xpe
  • 是否允许为 std::array 定义专门化?它会导致未定义的行为吗?

    我正在一个有课程的图书馆工作foo foo有一个不平凡的构造函数 当我创建一个std array of foo std array
  • Android 引起:java.lang.NullPointerException

    我现在编辑它 我正在检查布局和初始化 但仍然是相同的错误 这可能是 eclipse 错误吗 public class ActivityOwner extends Activity implements OnClickListener Edi
  • c99 转到过去的初始化

    在调试崩溃时 我在一些代码中遇到了这个问题 int func char p1 malloc if p1 NULL goto err exit char p2 malloc if p2 NULL goto err exit err exit
  • 如何在 RxSwift 中编写行的高度?

    我想将下面的代码转换为RxSwift 还请帮我如何写按钮Action代码在RxSwift ReactiveCocoa or RxSwiftswift3中用哪一个比较好 func tableView tableView UITableView
  • pyplot x 轴正在排序

    这一切都在 Windows 7 x64 位机器上 在 PyCharm Educational Edition 1 0 1 编译器中运行 python 3 4 3 x64 位 该计划使用的数据取自纽约市的 Citi Bike 计划 数据可在此