A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat | |||
tanszek:oktatas:muszaki_informatika:alapveto_diagrammok [2024/02/28 18:15] knehez |
tanszek:oktatas:muszaki_informatika:alapveto_diagrammok [2024/02/28 18:20] (aktuális) knehez |
||
---|---|---|---|
Sor 58: | Sor 58: | ||
} | } | ||
+ | </sxh> | ||
+ | |||
+ | ===== Oszlopdiagram ===== | ||
+ | |||
+ | {{:tanszek:oktatas:muszaki_informatika:pasted:20240228-181856.png}} | ||
+ | |||
+ | <sxh c> | ||
+ | #include <raylib.h> | ||
+ | |||
+ | int main() { | ||
+ | const int screenWidth = 800; | ||
+ | const int screenHeight = 450; | ||
+ | InitWindow(screenWidth, screenHeight, "Oszlopdiagram"); | ||
+ | |||
+ | SetTargetFPS(60); | ||
+ | |||
+ | // Oszlopdiagram adatok | ||
+ | float szazalekok[] = {30.0f, 25.0f, 20.0f, 15.0f, 10.0f}; // Összesen 100% | ||
+ | Color szinek[] = {RED, GREEN, BLUE, ORANGE, PURPLE}; // Minden szelethez egy szín | ||
+ | const char *cimkek[] = {"Termekertekesites", "Szolgaltatasok", "Licencdijak", "Befektetesek", "Egyeb"}; | ||
+ | |||
+ | // Oszlopok beállításai | ||
+ | int oszlopSzelesseg = 50; | ||
+ | int oszlopKoz = 20; | ||
+ | int diagramX = 100; // Diagram kezdő X pozíciója | ||
+ | int alapMagassag = screenHeight - 100; // Az oszlopok alapja | ||
+ | |||
+ | while (!WindowShouldClose()) { | ||
+ | BeginDrawing(); | ||
+ | ClearBackground(RAYWHITE); | ||
+ | |||
+ | for (int i = 0; i < 5; i++) { | ||
+ | // Oszlop magasságának és pozíciójának kiszámítása | ||
+ | float oszlopMagassag = (szazalekok[i] / 100.0f) * (screenHeight - 200); | ||
+ | int oszlopX = diagramX + i * (oszlopSzelesseg + oszlopKoz); | ||
+ | |||
+ | // Oszlop rajzolása | ||
+ | DrawRectangle(oszlopX, alapMagassag - oszlopMagassag, oszlopSzelesseg, oszlopMagassag, szinek[i]); | ||
+ | } | ||
+ | |||
+ | // összefoglaló (legend) | ||
+ | int legendX = screenWidth - 200; // X pozíció | ||
+ | int legendY = 50; // Kezdő Y pozíció | ||
+ | int magassag = 20; // Minden sor magassága | ||
+ | for (int i = 0; i < 5; i++) { | ||
+ | // Szín téglalap rajzolása | ||
+ | DrawRectangle(legendX, legendY + i * (magassag + 5), 20, magassag, szinek[i]); | ||
+ | // Címke rajzolása | ||
+ | DrawText(cimkek[i], legendX + 25, legendY + i * (magassag + 5), 10, BLACK); | ||
+ | } | ||
+ | |||
+ | EndDrawing(); | ||
+ | } | ||
+ | |||
+ | CloseWindow(); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
</sxh> | </sxh> |