File:Inserter Efficiency Graph (Capacity Bonus 4).png: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
GregFirehawk uploaded a new version of File:Inserter Efficiency Graph (Capacity Bonus 4).png
Fixed mixed up file code
Line 7: Line 7:
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import numpy as np
import numpy as np
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes


burner_speed = 60 / 76
burner_speed = 60 / 76
Line 25: Line 26:


stack_size = 2
stack_size = 2
green_stack = 4
green_stack = 6
stack_stack = 8
stack_stack = 10


x = np.linspace(0, blue_speed * stack_stack, 300)
x = np.linspace(0, blue_speed * stack_stack, 300)
Line 62: Line 63:
ax.set_xlim(0, xlim)
ax.set_xlim(0, xlim)


xtick = 0.5
xtick = 1
ytick = 2
ytick = 2


Line 68: Line 69:
ax.set_yticks(np.arange(0, ylim + ytick, ytick))
ax.set_yticks(np.arange(0, ylim + ytick, ytick))


ax.set_title("Inserter Efficiency (Capacity Bonus 2)")
ax.set_title("Inserter Efficiency (Capacity Bonus 4)")
ax.set_xlabel("Items / second", fontweight = "bold")
ax.set_xlabel("Items / second", fontweight = "bold")
ax.set_ylabel("Power Cost (kW)", fontweight = "bold")
ax.set_ylabel("Power Cost (kW)", fontweight = "bold")


ax.grid()
ax.grid()
ax.legend(loc = "best")
ax.legend(loc = 4)
 
zax = zoomed_inset_axes(ax, 6, loc = 2, borderpad = 1)
zax.yaxis.tick_right()
 
zax.plot(x, burner, label = "Burner", color = "black")
zax.plot(x, yellow, label = "Yellow", color = "orange")
zax.plot(x, red, label = "Red", color = "red")
zax.plot(x, blue, label = "Blue", color = "blue")
zax.plot(x, green, label = "Green", color = "green")
zax.plot(x, stack, label = "Stack", color = "purple")
 
zxlim = 3.5
zylim = 15
zxinit = 2
zyinit = 5
 
zax.set_xlim(zxinit, zxlim)
zax.set_ylim(zyinit, zylim)
 
zxtick = 0.1
zytick = 0.4
 
zax.set_xticks(np.arange(zxinit, zxlim + zxtick, zxtick))
zax.set_yticks(np.arange(zyinit, zylim + zytick, zytick))
 
zax.grid()
 
intersect1 = np.argwhere(np.diff(np.sign(green - blue))).flatten()
plt.plot(x[intersect1], green[intersect1] , 'ro')


plt.show()
plt.show()
</code>
</code>

Revision as of 05:16, 26 April 2025

Graph showing efficiency of different inserters at different throughputs. This version has capacity bonus 4. Worth noting is the significant overlap between stack inserters and green inserters.

Here is the code to reproduce the graph in python if it ever needs editing:

import matplotlib.pyplot as plt import numpy as np from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes

burner_speed = 60 / 76 yellow_speed = 60 / 70 red_speed = 60 / 50 blue_speed = 60 / 24

yellow_drain = 0.4 blue_drain = 0.5 green_drain = 1

burner_energy = 66.9 yellow_energy = 6.65 red_energy = 7 blue_energy = 8.12 green_energy = 23.2 stack_energy = 46.4

stack_size = 2 green_stack = 6 stack_stack = 10

x = np.linspace(0, blue_speed * stack_stack, 300)

yellow_count = np.trunc(x / (yellow_speed * stack_size)) + 1 red_count = np.trunc(x / (red_speed * stack_size)) + 1 blue_count = np.trunc(x / (blue_speed * stack_size)) + 1 green_count = np.trunc(x / (blue_speed * green_stack)) + 1

dynamic_stack = x / stack_size dynamic_green = x / green_stack dynamic_stacker = x / stack_stack

burner = burner_energy * dynamic_stack yellow = (yellow_energy * dynamic_stack) + (yellow_drain * yellow_count) red = (red_energy * dynamic_stack) + (yellow_drain * red_count) blue = (blue_energy * dynamic_stack) + (blue_drain * blue_count) green = (green_energy * dynamic_green) + (green_drain * green_count) stack = (stack_energy * dynamic_stacker) + green_drain

fig = plt.figure(figsize = (20, 15)) ax = plt.axes()

ax.plot(x, burner, label = "Burner", color = "black") ax.plot(x, yellow, label = "Yellow", color = "orange") ax.plot(x, red, label = "Red", color = "red") ax.plot(x, blue, label = "Blue", color = "blue") ax.plot(x, green, label = "Green", color = "green") ax.plot(x, stack, label = "Stack", color = "purple")

xlim = blue_speed * stack_stack ylim = (stack_energy / stack_stack) * xlim

ax.set_ylim(0, ylim) ax.set_xlim(0, xlim)

xtick = 1 ytick = 2

ax.set_xticks(np.arange(0, xlim + xtick, xtick)) ax.set_yticks(np.arange(0, ylim + ytick, ytick))

ax.set_title("Inserter Efficiency (Capacity Bonus 4)") ax.set_xlabel("Items / second", fontweight = "bold") ax.set_ylabel("Power Cost (kW)", fontweight = "bold")

ax.grid() ax.legend(loc = 4)

zax = zoomed_inset_axes(ax, 6, loc = 2, borderpad = 1) zax.yaxis.tick_right()

zax.plot(x, burner, label = "Burner", color = "black") zax.plot(x, yellow, label = "Yellow", color = "orange") zax.plot(x, red, label = "Red", color = "red") zax.plot(x, blue, label = "Blue", color = "blue") zax.plot(x, green, label = "Green", color = "green") zax.plot(x, stack, label = "Stack", color = "purple")

zxlim = 3.5 zylim = 15 zxinit = 2 zyinit = 5

zax.set_xlim(zxinit, zxlim) zax.set_ylim(zyinit, zylim)

zxtick = 0.1 zytick = 0.4

zax.set_xticks(np.arange(zxinit, zxlim + zxtick, zxtick)) zax.set_yticks(np.arange(zyinit, zylim + zytick, zytick))

zax.grid()

intersect1 = np.argwhere(np.diff(np.sign(green - blue))).flatten() plt.plot(x[intersect1], green[intersect1] , 'ro')

plt.show()

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current06:06, 6 May 2025Thumbnail for version as of 06:06, 6 May 20251,650 × 1,250 (68 KB)Cardinal (talk | contribs)Size formatted, higher compression ratio.
05:15, 26 April 2025Thumbnail for version as of 05:15, 26 April 20252,000 × 1,500 (262 KB)GregFirehawk (talk | contribs)Fixed mixed up file
05:14, 26 April 2025Thumbnail for version as of 05:14, 26 April 2025800 × 600 (64 KB)GregFirehawk (talk | contribs)Fixed mixed up file
04:21, 26 April 2025Thumbnail for version as of 04:21, 26 April 20252,000 × 1,500 (205 KB)GregFirehawk (talk | contribs)Added Stack Inserter, fixed error
13:24, 9 January 2025Thumbnail for version as of 13:24, 9 January 20252,880 × 3,600 (577 KB)GregFirehawk (talk | contribs)

The following 2 pages use this file:

Metadata