import matplotlib.pyplot as plt import numpy as np import pandas as pd df = pd.read_csv("transcount.csv") df = df.groupby("Date of introduction").aggregate(np.mean) gpu = pd.read_csv("gpu_transcount.csv") gpu = gpu.groupby("Date of introduction").aggregate(np.mean) df = pd.merge(df, gpu, how="outer", left_index=True, right_index=True) df = df.replace(np.nan, 0) print(df) years = df.index.values counts = df['Transistor count_x'].values gpu_counts = df['Transistor count_y'].values poly = np.polyfit(years, np.log(counts), deg = 1) plt.plot(years, np.polyval(poly, years), label='Fit') gpu_start = gpu.index.values.min() y_ann = np.log(df.at[gpu_start, 'Transistor count_x']) ann_str = "First GPU\n %d" %gpu_start plt.annotate(ann_str, xy = (gpu_start, y_ann), arrowprops=dict(arrowstyle="->"), xytext=(-30, + 70), textcoords="offset points") cnt_log= np.log(counts) plt.scatter(years, cnt_log, c = 200 * years, s=20 + 200 * gpu_counts/gpu_counts.max(), alpha=0.5, label="Scatter Plot") plt.legend(loc='upper left') plt.grid() plt.xlabel("Year") plt.ylabel("Log Transistor Counts", fontsize=16) plt.title("Moore's Law & Transistor Counts") plt.show()
plt.scatter散点图
最新推荐文章于 2024-02-17 02:36:54 发布