kids encyclopedia robot

Image: Packet-switching cost performance trends, 1960-1980

Kids Encyclopedia Facts
Original image ‎(SVG file, nominally 360 × 540 pixels, file size: 51 KB)

Description: Recreated from Figure 6 of Roberts, Larry. "The Arpanet and computer networks." A history of personal workstations. 1988. 141-172.


Matplotlib import matplotlib.pyplot as plt import numpy as np

  1. Define the exact data points for communications and computing cost trends

communications_cost_points = np.array([(60, 0.9), (80, 0.12)]) computing_cost_points = np.array([(62, 10), (77, 0.01)])

  1. Interpolate the values for each trend with 100 points

communications_years = np.linspace(communications_cost_points[0][0], communications_cost_points[1][0], 100) computing_years = np.linspace(computing_cost_points[0][0], computing_cost_points[1][0], 100)

  1. Since we are working with a semi-log plot, we need to interpolate in log scale

communications_cost_values = np.logspace(np.log10(communications_cost_points[0][1]), np.log10(communications_cost_points[1][1]), 100)

computing_cost_values = np.logspace(np.log10(computing_cost_points[0][1]), np.log10(computing_cost_points[1][1]), 100)

  1. Extrapolate the computing cost values linearly in log scale to the years 60 and 80

slope = (np.log10(computing_cost_values[-1]) - np.log10(computing_cost_values[0])) / (computing_years[-1] - computing_years[0]) intercept = np.log10(computing_cost_values[0]) - slope * computing_years[0] extrapolated_computing_years = np.linspace(60, 80, 100) extrapolated_computing_cost_values = 10**(slope * extrapolated_computing_years + intercept)

  1. Composite packet switching cost is the sum of the other two

composite_packet_switching_cost_values = np.interp(extrapolated_computing_years, communications_years, communications_cost_values) + extrapolated_computing_cost_values

  1. Plotting the data

fig, ax = plt.subplots(figsize=(4, 6)) ax.plot(communications_years, communications_cost_values, label='Communications Cost Trend') ax.plot(extrapolated_computing_years, extrapolated_computing_cost_values, label='Computing Cost Trend') ax.plot(extrapolated_computing_years, composite_packet_switching_cost_values, label='Composite Packet Switching Cost Trend', linestyle='--') ax.set_yscale ('log')

  1. Setting the axes limits

ax.set_xlim(60, 80) ax.set_ylim(0.01, 10)

  1. Adding labels and legend

ax.set_xlabel('Year of Service') ax.set_ylabel('Cost ($/million bits)') ax.set_title('Cost Trends Over Time') ax.legend()

  1. Adding the grid

plt.grid(True, which="both", ls="--")

  1. Show the plot

plt.savefig("Packet-switching cost performance trends.svg") plt.show()
Author: Cosmia Nebula
Usage Terms: Creative Commons Attribution-Share Alike 3.0
License: CC-BY-SA-3.0
License Link: http://creativecommons.org/licenses/by-sa/3.0/
Attribution Required?: Yes

The following page links to this image:

kids search engine