群发资讯网

AI帮你分析,案例《加拿大轻罪政策和吸毒人数的关系》

问豆包要数据打开豆包网址:doubao.com提问:要做一个加拿大请罪政策和吸毒人数的关系图,如何实现生成代码代码如下:
问豆包要数据

打开豆包网址:doubao.com

提问:要做一个加拿大请罪政策和吸毒人数的关系图,如何实现

生成代码

代码如下:

import matplotlib.pyplot as plt import pandas as pd # 设置中文显示 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 构建数据 data = { '年份': [2015, 2017, 2018, 2019, 2023, 2024], '大麻使用率(%)': [12, 15, 15, 21, 26, 26], '阿片类药物致死人数': [None, None, None, None, 7500, 7146], '政策标注': ['无重大政策', '筹备大麻合法化', '娱乐大麻合法化', '撤销大麻轻罪记录', 'BC省小剂量豁免试点', '试点持续推进'] } df = pd.DataFrame(data) # 创建画布和主坐标轴 fig, ax1 = plt.subplots(figsize=(12, 6)) # 绘制大麻使用率折线 color1 = '#2E86AB' ax1.set_xlabel('年份', fontsize=12) ax1.set_ylabel('大麻使用率(%)', color=color1, fontsize=12) line1 = ax1.plot(df['年份'], df['大麻使用率(%)'], color=color1, marker='o', linewidth=2, label='大麻使用率') ax1.tick_params(axis='y', labelcolor=color1) # 创建次坐标轴,绘制阿片类药物致死人数 ax2 = ax1.twinx() color2 = '#A23B72' ax2.set_ylabel('阿片类药物致死人数', color=color2, fontsize=12) # 过滤空值 death_data = df.dropna(subset=['阿片类药物致死人数']) line2 = ax2.plot(death_data['年份'], death_data['阿片类药物致死人数'], color=color2, marker='s', linewidth=2, label='阿片类药物致死人数') ax2.tick_params(axis='y', labelcolor=color2) # 标注政策 for i, txt in enumerate(df['政策标注']): ax1.annotate(txt, (df['年份'][i], df['大麻使用率(%)'][i]), xytext=(5, 5), textcoords='offset points', fontsize=8) # 合并图例 lines = line1 + line2 labels = [l.get_label() for l in lines] ax1.legend(lines, labels, loc='upper left') # 设置标题 plt.title('加拿大毒品轻罪化政策与吸毒相关数据趋势图', fontsize=14) plt.tight_layout() # 保存图片 plt.savefig('canada_drug_policy_trend.png', dpi=300) plt.show()

打开pycharm,粘贴代码,并运行。

没有的可以安装,网址是:https://www.jetbrains.com/pycharm/

安装好,运行:

结论:轻罪化推动吸毒人数上升,未现显著下降